1. Field
The disclosure relates generally to Web application programming interfaces and more specifically to supporting software application developers to iteratively refine requirements for Web application programming interfaces (Web APIs).
2. Description of the Related Art
An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API makes it easier for software developers to develop a software application by providing basic building blocks. These basic building blocks provide functions and sets of attributes associated with those functions including behavior and execution of those functions. A software developer then puts the basic building blocks together to create the software application. In essence, a software application's API defines the proper way for the software developer to request services from that software application. A Web API makes these services available through the Web to a potentially large set of consuming applications.
Web APIs may be used for accessing a Web-based software service. Multiple Web APIs may be composed to accomplish a function unbeknownst to an end user. For example, when an end user buys movie tickets online and enters credit card information, the movie ticket Web site uses a Web API to send the credit card information to a remote software application that verifies whether the credit card information is correct. Once payment is confirmed, the remote software application sends a response back to the movie ticket Web site indicating that the move ticket Web site may issue the tickets to the end user. The end user only sees the movie ticket Web site interface, but behind the scenes many software applications are working together using different Web APIs to provide the Web-based software service. Thus, Web-based software service applications may be based on many different Web APIs from multiple sources.